<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // for (let i = 0; i < 10; i++) {
    //     //循环体
    //     console.log(i);
    // }

    //for (let index in 数组名或对象)
    //for (let index of 数组名或对象)

    // let n = 0;
    // while (n < 10) {
    //     //循环体
    //
    //     //迭代部分
    // }

    // do {
    //     //至少执行一次
    // }while (n < 20);

    //实现一个抽奖程序，抽中的人不能再抽中。假设1~20之间的数字

    //1.txt.编写程序FooBizBaz.java，从1循环到150并在每行打印一个值，另外在每个3的倍数行上打印出“foo”,
    // 在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。
    // for (let i = 1.txt; i <= 150; i++) {
    //     if (i % 3 == 0) {
    //         console.log("foo");
    //     }
    //
    //     if (i % 5 == 0) {
    //         console.log("biz");
    //     }
    //
    //     if (i % 7 == 0) {
    //         console.log("baz");
    //     }
    // }

    //4.输出所有的水仙花数，所谓水仙花数是指一个3
    // 位数，其各个位上数字立方和等于其本身。
    // 例如： 153 = 111 + 333 + 555
    for (let i = 100; i < 1000; i++) {
        let g = i % 10 % 10;//个位
        let s = Math.floor(i % 100 / 10);//十位
        let b = Math.floor(i / 100);//百位
        if(g*g*g + s*s*s + b*b*b === i) {
            console.log(i);
        }
    }

    let str = "";
    //循环嵌套内的代码执行的次数为n*m，可以动态控制内循环的执行次数
    for (let i = 1; i < 10; i++) {//外循环
        for (let j = 1; j < (i + 1); j++) {//内循环
            // console.log("这是循环嵌套");
            str += `${i} * ${j} = ${i * j} &nbsp;`;
        }
        str += "</br>";
    }
    document.write(str);

    // console.log(t1());
    function t1() {
        for (let i = 0; i < 10; i++) {
            //当i=5时，循环结束
            if (i == 5) {
                // break;//跳出循环，也就是结束了循环
                return i * 10;//只能在函数中使用，表示中断函数并返回
                // return;//只能在函数中使用，表示中断函数并返回，此处返回值是undefined
            }
            //除了5之外都打印
            // if (i == 5) {
            //     continue;//跳出当次循环
            // }
            console.log(i);
        }
        console.log("函数运行结束");
    }

    // window.t1();//可以调用全局函数

    function t2() {
        t1();
    }
    t2();

    let obj = {
      name: "haha",
      age: 18
    };

    let objName = obj.name;
    let objAge = obj.age;
    with (obj) {
        let objName1 = name;
        let objAge1 = age;
        console.log(objName1);
        console.log(objAge1);
    }
    console.log(objName);
    console.log(objAge);
</script>
</body>
</html>